Mechanism for facilitating power extension service at computing devices

ABSTRACT

A mechanism is described for facilitating power extension service at computing devices according to one embodiment of the invention. A method of embodiments of the invention includes calculating potential power saving by one or more of a plurality of power-saving techniques supported by a computing device. The calculating includes identifying the one or more of the plurality of power-saving techniques that are available for selection and an expected amount of power to be saved with the one or more of the plurality of power saving techniques. The method may further include generating a list identifying the one or more of the plurality of power-saving techniques and relevant information resulting from the calculation, and displaying the list.

FIELD

The field relates generally to computing devices and, more particularly,to employing a mechanism for facilitating power extension service atcomputing devices.

BACKGROUND

Insufficient battery life is one of the major issues any user of mobilecomputing devices (e.g., smartphones, tablet computers, notebooks,netbooks, etc.) faces today. It is common for a user to encounter asituation when they want their computing device to stand a longer periodof time when the battery is low in direct current (DC) mode. Typically,in that case, one choice the user gets is switching the computing deviceto the maximum battery life (MBL) mode, which does not utilize variouspower saving techniques nor does it tell the user how long the batterywill be extended; hence, keeping the user in the dark about what aspectsof the computing device are being sacrificed in order to save power.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are illustrated by way of exampleand not by way of limitation in the figures of the accompanyingdrawings, in which like references indicate similar elements and inwhich:

FIG. 1 illustrates a computing device employing a power extensionassistant service mechanism for facilitating power extension service atcomputing devices according to one embodiment of the invention;

FIG. 2A illustrate a power extension assistant service mechanismemployed at a computing device according to one embodiment of theinvention;

FIG. 2B illustrates power-saving calculation method components employedat a computing device according to one embodiment of the invention;

FIG. 3A illustrates a method for facilitating power extension service ata computing device according to one embodiment of the invention;

FIG. 3B illustrates a method for facilitating power extension service byperforming a power saving calculation method at a computing deviceaccording to one embodiment of the invention;

FIG. 4A illustrates a screenshot providing a list of power-savingoptions available at and supported by the computing device according toone embodiment of the invention;

FIG. 4B illustrates details of an option chosen from one of the optionsprovided in FIG. 4A according to one embodiment of the invention;

FIG. 4C illustrates a screenshot providing a power-saving calculationservice tool of the power extension assistant service mechanismaccording to one embodiment of the invention; and

FIG. 5 illustrates a computing system according to one embodiment of theinvention.

DETAILED DESCRIPTION

Embodiments of the invention provide a mechanism for facilitating powerextension service at computing devices according to one embodiment ofthe invention. A method of embodiments of the invention includescalculating potential power saving by one or more of a plurality ofpower-saving techniques supported by a computing device. The calculatingincludes identifying the one or more of the plurality of power-savingtechniques that are available for selection and an expected amount ofpower to be saved with the one or more of the plurality of power savingtechniques. The method may further include generating a list identifyingthe one or more of the plurality of power-saving techniques and relevantinformation resulting from the calculation, and displaying the list.

FIG. 1 illustrates a computing device employing a power extensionassistant service mechanism for facilitating power extension service atcomputing devices according to one embodiment of the invention. In oneembodiment, a computing device 100 is illustrated as having a powerextension assistant service (“PEAS”) mechanism 108 (herein referred toas “PEAS mechanism”, “power service mechanism”, or simply “mechanism”)to employ and facilitate power extension service in computing device100. Computing device 100 may include mobile computing devices, such assmartphones (e.g., iPhone®, BlackBerry®, etc.), handheld computingdevices, PDAs, tablet computers (e.g., iPad®, Samsung® Galaxy Tab®,etc.), laptop computer (e.g., notebook, netbook, etc.), e-reader (e.g.,Kindle®, Nook®, etc.), etc. Computing device 100 may further includeset-top boxes (e.g., Internet-based cable television set-top boxes,etc.), larger computers, such as desktop computers, server computers,etc.

Computing device 100 includes an operating system 106 serving as aninterface between any hardware or physical resources of the computerdevice 100 and a user. Computing device 100 further includes one or moreprocessors 102, memory devices 104, network devices, drivers, or thelike. It is to be noted that terms like “machine”, “device”, “computingdevice”, “computer”, “computing system”, and the like, are usedinterchangeably and synonymously throughout this document.

FIG. 2A illustrates a power extension assistant service mechanismemployed at a computing device according to one embodiment of theinvention. In one embodiment PEAS mechanism 108 allows the user of acomputing device (e.g., mobile computing device) to have the ability tocustomize configurations relating to extending battery life such that tohave multiple options of knowing not only the amounts of battery thatcan be extended, but also at what expense, such as what aspects orcomponents of the computing device would have to be reduced or entirelysacrificed (to sustain or attain the increase in power). In oneembodiment, a service tool may be introduced by the PEAS mechanism 108to integrate various power saving technologies (e.g., Intel® powersaving technologies, like Intel Display Brightness (“ADB”), IntelDisplay Power Saving Technology (“DPST”), Intel Display Refresh RateSwitching Technology (“DRRS”)) and provide multiple choices to usersregarding how long the battery can be extended under each choice.

In one embodiment, PEAS mechanism 108 provides a monitor 202 to maintainand monitor a power saving method list that records each of the possibleapproaches or techniques that are supported by the computing device tosave power. Examples of such approaches include the aforementioned ADB,DPST, DRRS, etc. It is contemplated that the embodiments of the presentinvention are not limited to merely Intel-based ADB, DPST, and DRRS, butthat they are compatible with and employ the number and types ofpower-saving methods/techniques. However, for brevity, simplicity andease of understanding, ADB, DPST and DRRS are discussed as examples ofpower-saving methods throughout this document. For example, one of ADB,DPST and DRRS may be chosen to decrease backlight and adjust wirelesssettings (e.g., 802.11 Power-Save Poll), etc., as it is known thatdisplay and Wi-Fi are considered highest in power consumption on anymobile computing platform. Further, when the service tool providedthrough the PEAS mechanism 108 is launched, the service tool may thenquery the computing device to determine which of the power savingmethods listed in the list are supported by the computing device so thatan updated list of power-saving methods supported by the computingdevice may be maintained.

In one embodiment, PEAS mechanism 108 may provide the user with optionsto set or reset various configuration settings relating to savingbattery power, such as which of the available power-saving methods ispreferable when having multiple choices, setting a threshold level(e.g., 7%) of the remaining battery power to trigger the service tool,and the like. For example, the monitor 202 not only maintains the listof power-saving techniques, but also continuously monitors the variousthreshold levels set by the user, such as when the batter power levellowers to the user-set threshold level (e.g., 7%), the monitor 202triggers the power-saving process. The power-saving process may includethe monitor 202 triggering a calculator 204 (that includes an analyzeror interpreter) to determine the available power-saving techniques andmake necessary adjustments to prepare a list of options for the user.For example, one adjustment may relate to changing ADB from disable modeto enable mode, increasing the DPST level, changing refresh rate inDRRS, and disabling wireless availability if no network application isrunning or switching Wi-Fi to a power-saving mode.

Upon having the analysis done by the calculator 204, a display 206(including a user interface) brings up a dialog box that provides theuser with relevant information, such as the current battery status(e.g., remaining battery life), and options, such as a list of availablepower-saving techniques, and the like. Further, the user may click onone of the available options to find out additional details, such aswhat power-saving technique is being used, which of the existingcomponents or functionalities (e.g., wireless, etc.) are beingsacrificed, what impact it will have on certain other functionalitiesthat may be preferable to the user (e.g., brightness, etc.). The usermay study these details and choose one of the battery-saving optionsfrom the pop-up list. If, for some reason (e.g., based on user's setconfigurations), if enough or particular battery-saving options are notavailable (e.g., only one battery-saving option is available to extendthe battery from the remaining 6 minutes to 8 minutes or from 7% to 9%,etc.), the PEAS mechanism 108, using the displayer 206, may display orreport to the user one or more reasons (e.g., software applications)that are preventing the PEAS mechanism 108 from adapting one of thepower-saving techniques (e.g., ADB, DPST, DRRS, PS-Poll, etc.) to lowerthe real-time power consumption, such as displaying something like“suggestion: network copying”.

Unlike conventional power saving schemes, in one embodiment, thepower-saving options offered by the PEAS mechanism 108 are not merelyoperating system-dependent options. Stated differently, the PEASmechanism 108 considers and analyzes power-saving techniques supportedby the underlying computing device and is not limited to merely thosethat are dependent on and identified by the operating system. Thecalculator 204 automatically considers and calculates differentpower-saving techniques and their combinations to propose multiplepower-saving options to the user.

It is contemplated that any number and type of components may be addedto and removed from the PEAS mechanism 108 to facilitate the workingsand operability of the PEAS mechanism 108 to provide power extensionservices at computing devices. For brevity, clarity, ease ofunderstanding and to focus on the PEAS mechanism 108, many of thedefault or known components of a computing device are not shown ordiscussed here.

Now referring to FIG. 2B, it illustrates various power-savingcalculation method (“PSCM”) components according to one embodiment. Forexample, in one embodiment, the aforementioned components 202-206 of thePEAS mechanism 108 are shown as in communication with system hardware224 through a driver 222 of the computing device where the PEASmechanism 108 is employed. The driver 222 may include software, hardwareor firmware including a device driver or software driver representing acomputer program or application allowing the PEAS mechanism 108 tointeract and work with the hardware 224 of the computing device. Acombination of the PEAS mechanism 108 and the driver 222 are referred toas PSCM components 220.

In one embodiment, the calculator 204 uses other components 202, 206 andknown information (e.g., data relating to power-saving techniques likethe ADB, DPST, etc.) to calculate how much and in what manner power canbe saved by each power-saving technique, such as ADB and DPST, to, forexample, save platform power by decreasing the backlight of a displaypanel (e.g., low voltage differential signaling (LVDS)-based displaypanel), thus the average backlight adjustment is proportional to thepower saved. Based on this knowledge and other aforementionedinformation, the calculator 204 can calculate how and how much power isto be saved using various available power-saving techniques.

As aforementioned, the monitor 202 performs various tasks, such asmonitors the computing device's status, records backlight status foreach change, trigger an initialization phase to gather the initialbacklight by querying the driver 222 and initial computing device time,etc. The calculator 204 calculates the actual power to be saved based onthe available techniques, etc., while the display 206 provides a userinterface and presents the results having power-saving options to theuser by, for example, Graphics User Interface (GUI), text, charts orgraphs, system log, or the like.

FIG. 3A illustrates a method for facilitating power extension service ata computing device according to one embodiment. Method 300 may beperformed by processing logic that may comprise hardware (e.g.,circuitry, dedicated logic, programmable logic, etc.), software (such asinstructions run on a processing device), or a combination thereof. Inone embodiment, method 300 may be performed by the PEAS mechanism

At block 320, battery power status is continuously monitored todetermine whether the power status has reached one or more user-definedor other thresholds. If the threshold is not reached, the process maycontinue with initializing at block 305 or the battery status iscontinuously monitored. If a threshold is reached, further process istriggered to generate a list of proposals relating to variouspower-saving techniques, an amount of power to be saved by eachpower-saving technique, a list of computing device components orservices or functionalities to be compromised or sacrificed, theremaining battery time, etc., for the user. At processing block 330, theuser decides and chooses one of the power-saving settings or optionsprovided by the PEAS mechanism.

FIG. 3B illustrates a method for facilitating power extension service byperforming a power saving calculation method at a computing deviceaccording to one embodiment. Method 350 may be performed by processinglogic that may comprise hardware (e.g., circuitry, dedicated logic,programmable logic, etc.), software (such as instructions run on aprocessing device), or a combination thereof. In one embodiment, method350 may be performed by the PEAS mechanism and PSCM components of FIGS.1, 2A and 2B.

Method 350 starts at block 355 with the monitor gathering initialbacklight adjustment by various available and computer device-supportedpower-saving techniques (e.g., ADB, DPST, etc.). At block 360, backlightis changed by the available power-setting techniques (e.g., by ADBand/or by the DPST). At block 365, the calculator calculates savedpower, while, at block 370, the display displays the sum and averagesaved power by each power-saving technique. At block 375, the monitorkeeps monitoring the next backlight change.

FIG. 4A illustrates a screen shot having a GUI-like window or screen 402providing a current battery status 404 (e.g., 6 min or 7% of batterylife remaining) and, in one embodiment, a list 412 of variouspower-saving options available at and supported by the computing deviceand as determined by the PEAS mechanism of FIG. 1. The illustrated list412 provides a number of options, such as choice 1 saving 12 minutes ofbattery life 414, choice 2 saving 20 minutes of battery life 416, andchoice 3 saving 25 minutes of battery life 418, etc. The list furtherprovides the user with a choice of clicking on details of any of theoptions 414-418 to see further details regarding that option. Forexample, referring now to FIG. 4B, if the user clicks on details ofchoice 1 414, the user may encounter a pop-up details list 420 showing,for example, ADB power-saving technique is “on” (as opposed to being“off”), DPST is at level 5, brightness remains at 70%, while thewireless option is in power-saving mode.

Now referring to FIG. 4C, it reflects another GUI-like screen 450providing the user with a power-saving calculation service tool providedby the PEAS mechanism and PSCM components of the preceding figures.Here, the screen 450 provides the user the option of setting, forexample, a DSPT/ADB setting 452, such as choosing “display power savingtechnology” and/or “automatic display brightness”, etc. The user maythen click to “apply” 454 the settings, and begin calculations byclicking “start calculate” 456. These power saving calculations may bedisplayed for the user in a number of ways, such as by graph 458, incharts, through text, etc. It is contemplated that FIGS. 4A, 4B and 4Cmerely illustrate examples (for brevity, clarity, and ease ofunderstanding) and that embodiments of the present inventions are notlimited to these illustrated examples.

FIG. 5 illustrates a computing system 500 employing and facilitating apower extension assistant service mechanism as referenced throughoutthis document according to one embodiment of the invention. Theexemplary computing system 500 may be the same as or similar to thecomputing device 100 FIG. 1 and include: 1) one or more processors 501at least one of which may include features described above; 2) a memorycontrol hub (MCH) 502; 3) a system memory 503 (of which different typesexist such as double data rate RAM (DDR RAM), extended data output RAM(EDO RAM) etc.); 4) a cache 504; 5) an input/output (I/O) control hub(ICH) 505; 6) a graphics processor 506; 7) a display/screen 507 (ofwhich different types exist such as Cathode Ray Tube (CRT), Thin FilmTransistor (TFT), Light Emitting Diode (LED), Molecular Organic LED(MOLED), Liquid Crystal Display (LCD), Digital Light Projector (DLP),etc.; and 8) one or more I/O devices 508.

The one or more processors 501 execute instructions in order to performwhatever software routines the computing system implements. Theinstructions frequently involve some sort of operation performed upondata. Both data and instructions are stored in system memory 503 andcache 504. Cache 504 is typically designed to have shorter latency timesthan system memory 503. For example, cache 504 might be integrated ontothe same silicon chip(s) as the processor(s) and/or constructed withfaster static RAM (SRAM) cells whilst system memory 503 might beconstructed with slower dynamic RAM (DRAM) cells. By tending to storemore frequently used instructions and data in the cache 504 as opposedto the system memory 503, the overall performance efficiency of thecomputing system improves.

System memory 503 is deliberately made available to other componentswithin the computing system. For example, the data received from variousinterfaces to the computing system (e.g., keyboard and mouse, printerport, Local Area Network (LAN) port, modem port, etc.) or retrieved froman internal storage element of the computer system (e.g., hard diskdrive) are often temporarily queued into system memory 503 prior totheir being operated upon by the one or more processor(s) 501 in theimplementation of a software program. Similarly, data that a softwareprogram determines should be sent from the computing system to anoutside entity through one of the computing system interfaces, or storedinto an internal storage element, is often temporarily queued in systemmemory 503 prior to its being transmitted or stored.

The ICH 505 is responsible for ensuring that such data is properlypassed between the system memory 503 and its appropriate correspondingcomputing system interface (and internal storage device if the computingsystem is so designed). The MCH 502 is responsible for managing thevarious contending requests for system memory 503 accesses amongst theprocessor(s) 501, interfaces and internal storage elements that mayproximately arise in time with respect to one another.

One or more I/O devices 508 are also implemented in a typical computingsystem. I/O devices generally are responsible for transferring data toand/or from the computing system (e.g., a networking adapter); or, forlarge scale non-volatile storage within the computing system (e.g., harddisk drive). ICH 505 has bi-directional point-to-point links betweenitself and the observed I/O devices 508.

Portions of various embodiments of the present invention may be providedas a computer program product, which may include a computer-readablemedium having stored thereon computer program instructions, which may beused to program a computer (or other electronic devices) to perform aprocess according to the embodiments of the present invention. Themachine-readable medium may include, but is not limited to, floppydiskettes, optical disks, compact disk read-only memory (CD-ROM), andmagneto-optical disks, ROM, RAM, erasable programmable read-only memory(EPROM), electrically EPROM (EEPROM), magnet or optical cards, flashmemory, or other type of media/machine-readable medium suitable forstoring electronic instructions.

The techniques shown in the figures can be implemented using code anddata stored and executed on one or more electronic devices (e.g., an endstation, a network element). Such electronic devices store andcommunicate (internally and/or with other electronic devices over anetwork) code and data using computer-readable media, such asnon-transitory computer-readable storage media (e.g., magnetic disks;optical disks; random access memory; read only memory; flash memorydevices; phase-change memory) and transitory computer-readabletransmission media (e.g., electrical, optical, acoustical or other formof propagated signals—such as carrier waves, infrared signals, digitalsignals). In addition, such electronic devices typically include a setof one or more processors coupled to one or more other components, suchas one or more storage devices (non-transitory machine-readable storagemedia), user input/output devices (e.g., a keyboard, a touchscreen,and/or a display), and network connections. The coupling of the set ofprocessors and other components is typically through one or more bussesand bridges (also termed as bus controllers). Thus, the storage deviceof a given electronic device typically stores code and/or data forexecution on the set of one or more processors of that electronicdevice. Of course, one or more parts of an embodiment of the inventionmay be implemented using different combinations of software, firmware,and/or hardware.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will, however,be evident that various modifications and changes may be made theretowithout departing from the broader spirit and scope of the invention asset forth in the appended claims. The Specification and drawings are,accordingly, to be regarded in an illustrative rather than a restrictivesense.

We claim:
 1. A computer-implemented method comprising: identifying aplurality of functionalities of a computing device expected to be, atleast partially, relinquished based on a state of the computing device,wherein the plurality of functionalities are not being used by anapplication of the computing device; calculating a plurality of amountsof power to be saved by a respective one of a plurality of power-savingtechniques supported by the computing device, wherein at least one ofthe plurality of power-saving techniques identify the plurality offunctionalities based on the state of the computing device and theamount of power expected to be saved when selecting a power-savingtechnique of the plurality of power saving techniques; generating a listof power-saving options, that are supported by the computing device thatis active, including combinations of the plurality of power-savingtechniques and relevant information resulting from the calculation,wherein the relevant information includes the plurality offunctionalities expected to be relinquished and the plurality of amountsof power to be saved; for a first power-saving option, determining afirst duration of time that a remaining battery power of the computingdevice is estimated to be able to provide power to the computing devicein response to selecting the first power saving option; for a secondpower-saving option, determining a second duration of time that theremaining battery power of the computing device is estimated to be ableto provide power to the computing device in response to selecting thesecond power saving option; and displaying the list of power-savingoptions, the first duration of time, and the second duration of time, inresponse to the remaining battery power of the computing device reachingor going below a threshold level.
 2. The computer-implemented method ofclaim 1, further comprising monitoring the one or more of the pluralityof power-saving techniques supported by the computing device, whereinthe one or more of the plurality of power-saving techniques include oneor more of an Automatic Display Brightness (ADB), a Display Power SavingTechnology (DPST), or a Display Refresh Rate Switching Technology(DRRS).
 3. The computer-implemented method of claim 1, wherein thecalculation is performed based, at least partially, on data relating tothe plurality of functionalities and current power status of one or morebatteries coupled to the computing device.
 4. The computer-implementedmethod of claim 1, wherein the computing device comprises one or more ofa smartphone, a personal digital assistant (PDA), a handheld computer, atablet computer, an e-reader, a notebook, a netbook, a set-top box, or adesktop computer.
 5. A system comprising: a host computing device havinga memory to store instructions to facilitate power extension service,and a processing device to execute the instructions, wherein theinstructions, when executed, cause the processing device to: identify aplurality of functionalities of the host computing device expected tobe, at least partially, relinquished based on a state of the computingdevice, wherein the plurality of functionalities are not being used byan application of the computing device; calculate a plurality of amountsof power to be saved by a respective one of a plurality of power-savingtechniques supported by the host computing device, wherein at least oneof the plurality of power-saving techniques identify the plurality offunctionalities based on the state of the computing device and theexpected amount of power to be saved when selecting a power-savingtechnique of the plurality of power-saving techniques; generate a listof power-saving options, that are supported by the computing device thatis active, including combinations of the plurality of power-savingtechniques and relevant information resulting from the calculation,wherein the relevant information includes the plurality offunctionalities expected to be relinquished and the plurality of amountsof power to be saved; determine a first duration of time that aremaining battery power of the system is estimated to be able to providepower to the system in response to selecting the first power savingoption; determine a second duration of time that the remaining batterypower of the system is estimated to be able to provide power to thesystem in response to selecting the second power saving option; anddisplay the list and at least one of the first duration of time or thesecond duration of time, in response to a remaining battery power of thesystem reaching or going below a threshold level.
 6. The system of claim5, wherein the processing device is further to monitor the one or moreof the plurality of power-saving techniques supported by the computingdevice, wherein the one or more of the plurality of power-savingtechniques include one or more of an Automatic Display Brightness (ADB),a Display Power Saving Technology (DPST), or a Display Refresh RateSwitch Technology (DRRS).
 7. The system of claim 5, wherein thecalculation is performed based, at least partially, on data relating tothe plurality of functionalities and current power status of one or morebatteries coupled to the computing device.
 8. The system of claim 5,wherein the computing device comprises one or more of a smartphone, apersonal digital assistant (PDA), a handheld computer, a tabletcomputer, an e-reader, a notebook, a netbook, a set-top box, or adesktop computer.
 9. A non-transitory machine-readable medium includinginstructions that, when executed by a machine, cause the machine to:identify a plurality of functionalities of a computing device expectedto be, at least partially, relinquished based on a state of thecomputing device, wherein the plurality of functionalities are not beingused by an application of the computing device; calculate a plurality ofamounts of power to be saved by a respective one of the plurality ofpower-saving techniques, wherein calculating includes identifying theone or more of the plurality of power-saving techniques that areavailable for selection, wherein at least one of the plurality ofpower-saving techniques identify the plurality of functionalities basedon the state of the computing device and the amount of power expected tobe saved when selecting a power-saving technique of the plurality ofpower saving techniques; generate a list of power-saving options, thatare supported by the computing device that is active, includingcombinations of the plurality of power-saving techniques and relevantinformation resulting from the calculation, wherein the relevantinformation includes the plurality of functionalities expected to berelinquished and the plurality of amounts of power to be saved;determine a first duration of time that a remaining battery power of thecomputing device is estimated to be able to provide power to thecomputing device in response to selecting the first power saving option;determine a second duration of time that the remaining battery power ofthe computing device is estimated to be able to provide power to thecomputing device in response to selecting the second power savingoption; and display the list and one or both the first duration of timeor the second duration of time, in response to a remaining battery powerof the computing device reaching or going below a threshold level. 10.The non-transitory machine-readable medium of claim 9, wherein theprocessing device is further to monitor the one or more of the pluralityof power-saving techniques supported by the computing device, whereinthe one or more of the plurality of power-saving techniques include oneor more of an Automatic Display Brightness (ADB), a Display Power SavingTechnology (DPST), or a Display Refresh Rate Switching Technology(DRRS).
 11. The non-transitory machine-readable medium of claim 9,wherein the calculation is performed based, at least partially, on datarelating to the plurality of functionalities and current power status ofone or more batteries coupled to the computing device.
 12. Thenon-transitory machine-readable medium of claim 9, wherein the computingdevice comprises one or more of a smartphone, a personal digitalassistant (PDA), a handheld computer, a tablet computer, an e-reader, anotebook, a netbook, a set-top box, or a desktop computer.